package org.mfw.interfaces.mdm
{
	import flash.events.IEventDispatcher;
	
	/**
	 * MediaDataManager Interface. Interface für den Datenmanager.
	 * Das Interface beschreibt die wesentlichen Funktionen welche der 
	 * DatenManager anbiete muss. Bitte das Eventhandling beachten! 
	 * @author Steven Voigt
	 * @Added 02.04.09
	 * @LastUpdate 09.04.09
	 * */
	public interface IMediaDataManager extends IEventDispatcher
	{
		/**
		 * @author Steven Voigt
	 	 * @Added 08.04.09
	 	 * @LastUpdate 08.04.09
		 * Fordert die Startbox an. Wenn Anfrage erlaubt
		 * gibt true zurück, ansonsten liefere false
		 * */
		 function getStartBox():Boolean;
		
		/**
		 * @author Steven Voigt
	 	 * @Added 08.04.09
	 	 * @LastUpdate 08.04.09
		 * Fordert die Box mit übergebenen ID an. Wenn Anfrage erlaubt
		 * gibt true zurück, ansonsten liefere false
		 *  */
		 function getBoxByID(ID:Number):Boolean;
		 
		 /**
		 * @author Steven Voigt
	 	 * @Added 08.04.09
	 	 * @LastUpdate 08.04.09
		 * Legt die Parameter des Datamanagers fest, 
		 * Rückgabewert ist true wenn die Daten ok sind und
		 * false wenn die Daten nicht geparsed werden können.
		 * */
		 function setParams(params:Object):Boolean;
		 
		 /**
		 * @author Steven Voigt
	 	 * @Added 05.05.09
	 	 * @LastUpdate 05.05.09
		 * Fordert das Cover mit der übergebenen ID an
		 * */
		 function getCoverByID(ID:Number):Boolean
		 
		 /**
		 * @author Steven Voigt
	 	 * @Added 05.05.09
	 	 * @LastUpdate 05.05.09
		 * Fordert einen Songstream über dessen ID an
		 * */
		 function getSongStreamByID(ID:Number):Boolean
		 
		 
		 /**
		 * @author Steven Voigt
	 	 * @Added 09.04.09
	 	 * @LastUpdate 09.04.09
		 * Liefert einen String mit aktuellen Statusinformationen
		 * zurück. Kann für Debuginformationen angewendet werden.
		 * */
		 function get debugText():String
	}
}